#pragma once
class Sentencia
{
public:

	Sentencia(Sentencia *next)
	{
		setNext(next);
		SetReturn(0);
	}

	~Sentencia(void)
	{
	}

	Sentencia* getNext()
	{
		return this->next;
	}
	void setNext(Sentencia *next)
	{
		this->next = next;
	}
	virtual string is() = 0;
	virtual tipo_ts * validarSemantica(tabla_simbolos *tabla_de_tipo,tabla_simbolos *tabla_de_varaible)=0;
	 tipo_ts * GetReturn(){
		return this->Return;
	 }
	 void SetReturn(tipo_ts * Return){
		 this->Return=Return;
	 }

private:
	Sentencia *next;
	tipo_ts * Return;

};

